home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlb20 / lib / pause.c < prev    next >
C/C++ Source or Header  |  1992-05-01  |  651b  |  40 lines

  1. /* public domain pause(), by ers */
  2.  
  3. #include <mintbind.h>
  4. #include <signal.h>
  5. #include <errno.h>
  6.  
  7. extern int __mint;
  8.  
  9. void
  10. pause()
  11. {
  12.     if (__mint)
  13.         (void)Pause();
  14.     /* do nothing for TOS */
  15. }
  16.  
  17. /* Public domain sigpause() - AGK */
  18.  
  19. void
  20. sigpause(mask)
  21.     long mask;
  22. {
  23.     long oldmask;
  24.  
  25.     if (__mint == 0) {
  26.     /* for TOS, we just toggle the signal mask -- maybe
  27.      * there's a pending signal that we can receive.
  28.          */
  29.         oldmask = sigsetmask(mask);
  30.         sigsetmask(oldmask);
  31.     }
  32.     else if (__mint <= 94) {
  33.         oldmask = Psigsetmask(mask);
  34.         (void)Pause();
  35.         (void)Psigsetmask(oldmask);
  36.     }
  37.     else
  38.         (void)Psigpause(mask);
  39. }
  40.